Date: Wed, 20 Nov 1996 21:56:52 GMT
Server: Apache/1.0.5
Content-type: text/html
Content-length: 18646
Last-modified: Tue, 06 Aug 1996 22:17:01 GMT

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
<HTML>
<HEAD>
   <TITLE>CS 142 Syllabus - Fall '96</TITLE>
   <META NAME="description" CONTENT="">
   <META NAME="keywords" CONTENT="">
   <META NAME="resource-type" CONTENT="">
   <META NAME="distribution" CONTENT="">
   <META NAME="GENERATOR" CONTENT="User-Agent: Mozilla/3.0b5Gold (Macintosh; I; PPC)">
</HEAD>
<BODY>

<P><!--  describe the document, avoid context sensitive descriptions --><!--  keywords for the document --><!--  should be "document" unless providing a search, then "service" --><!--  use global for documents to be indexed outside BYU --></P>

<H1><FONT COLOR="#F30CFF">CS 142 Syllabus</FONT></H1>

<H2><FONT COLOR="#F30C47">Fall 1996</FONT></H2>

<P>
<HR></P>

<H2><FONT COLOR="#FF1400">HOW TO USE THIS SYLLABUS</FONT></H2>

<P>This syllabus contains information necessary to succeed in CS 142, specifically:
</P>

<UL>
<LI>Information on the course and course requirements. This information
will not be covered extensively in class. It will be your responsibility
to read and understand it. </LI>

<LI>A tentative schedule of lecture topics, readings, and examinations.
</LI>

<LI>A <!WA0><A HREF="file:///Macintosh%20HD/Desktop%20Folder/checkoff.html">check-off</A>
sheet for lab assignments. </LI>
</UL>

<P><B>Suggestion:</B> Write your name and phone number on the front of
your syllabus so that, if it gets misplaced, it can be returned readily.
The Assignment <!WA1><A HREF="file:///Macintosh%20HD/Desktop%20Folder/checkoff.html">Check-Off
Sheet</A> is the only record of your assignment completions. Don't lose
it. 
<HR></P>

<H2><FONT COLOR="#EE1C00">COURSE DESCRIPTION and PROCEDURES</FONT></H2>

<P>Computer Science 142 is designed for students who intend to major in
computer science or in areas having a strong emphasis on computer programming.
While no prior knowledge of computers is required, the course is a challenging
one and demands self-discipline and hard work of each student. </P>

<P>Although Computer Science 142 is not a new course (it has been offered
for many years), the content has undergone extensive revision during the
past 3 years. This revision is in response to a new approach to computer
programming known as Object-Oriented Programming. Object-Oriented Programming
is fast becoming the accepted methodology for the design and development
of today's large and complex software systems and products. Because there
are not yet text books which emphasize Object-Oriented Programming in a
first computer science course, we have written our own text, &quot;A First
Course in Object- Oriented Programming.&quot; In a sense, our new approach
is experimental. Many computer science teachers are skeptical about it.
We are cautiously optimistic that we are developing an approach and associated
materials that will prove to be effective in providing a foundation for
object-oriented program design and development throughout the Computer
Science curriculum. We are sure to discover things we will want to change
as we gain experience with our new approach. We are anxious to receive
constructive feed back from students concerning the text, the programming
assignments, the examples, the order and selection of topics, or any aspect
of the class. </P>

<P>Many students enrolling in this course have done a little or a lot of
programming in Pascal or some other programming language. However, it is
unlikely that many students have had experience with Object- Oriented programming.
If you have had little or no experience with computers and programming,
you may feel yourself at a disadvantage compared to others who have had
programming experience. Some students in this situation do well and experience
little difficulty, while others experience significant difficulty and frustration.
Even some students with programming experience may struggle. We will try
very hard to pace the course for beginners and will not let experienced
programmers divert our lectures or discussions toward advanced or obscure
topics. If you are having trouble understanding the lectures, the reading
or the programming assignments, then seek help early and often. TAs in
the lab can help you, your instructor can help you, and you can attend
a Help section. Help sections for CS 142 are scheduled each semester. Times
and locations are posted in the lab. Plan to attend at least one help section
each week. A teaching assistant who knows Pascal well will help with design
and development of the coming assignment and answer any questions you have.
</P>

<P>
<HR></P>

<H2><FONT COLOR="#8C7D00">Lectures</FONT></H2>

<P>The purpose of class lectures is to lend structure to the class and
tie the concepts together. Instructors will also answer questions and elaborate
on concepts. However, you have primary responsibility for your education.
Other learning resources include weekly help sessions given by lab TA's,
the textbook, and the computers with the Borland Pascal programming environment
in the lab. Much of your learning will take place in the computer lab.

<HR></P>

<H2><FONT COLOR="#9C5100">Texts</FONT></H2>

<P>In addition to this syllabus, you will need to buy the text: A First
Course in Object-Oriented Programming by Theodore A. Norman. This text
is not yet published commercially, but is available as a packet in the
bookstore. 
<HR></P>

<H2><FONT COLOR="#407F00">Grading</FONT></H2>

<P>Points will be assigned for each program and exam, with programming
assignments accounting for 25% of the grade and examinations 75%. Exams,
including the final exam, will each count 25% of the final grade. Final
grading will then be awarded on a straight percentage basis according to
the following scale: </P>

<PRE>

        A       95-100% B-      80.0-83.3%      D+      66.7-70.0%

        A-      90.0-95%        C+      76.7-80.0%      D       63.3-66.7%

        B+      86.7-90.0%      C       73.3-76.7%      D-      60.0-63.3%

        B       83.3-86.7%      C-      70.0-73.3%      E       00.0-60.0%

</PRE>

<P>
<HR></P>

<H2><FONT COLOR="#F80C19">CS 142 EXAM SCHEDULE Fall 1996</FONT></H2>

<PRE>
 
EXAM  1         TESTING CENTER         



EXAM  2         TESTING CENTER          



FINAL EXAM      IN THE CLASSROOM       

</PRE>

<P>All tests are Open-Book, Open-Notes. </P>

<P>The Testing Center is in the Heber J. Grant Building (HJGB) </P>

<P>Testing Center hours may vary from semester to semester but are usually
similar to the following: </P>

<PRE>

Monday through Thursday         9:00 am to 8:00 PM

Friday                          9:00 am to 5:00 PM

Saturday and Sunday             Closed


</PRE>

<P>For accurate hours call 378-6129 </P>

<P>The Testing Center sometimes gets busy and lines form, so go early and
allow yourself plenty of time. The doors close 1/2 hour before the closing
time. </P>

<P>
<HR></P>

<H2><FONT COLOR="#F35966">CS-142 TENTATIVE LECTURE SCHEDULE AND READING
OUTLINE</FONT></H2>

<PRE>

Week    Topics  Text Reading    



1       Algorithms, Computers, RAM Organization, Binary Number System,  Chaps 1 &amp; 2

        Machine Language, Assembly Language, High Level Languages,

        Compilers, Microsoft Windows, the Borland Pascal IDE            



2       Introduction to PASCAL, Objects, Methods, Syntax, The Turtle class      Chap 3

        

3       Variable and Constant Data, Types, Classes, Objects and Variables,      Chap 4

        Variable Declarations, Methods and Operations, Integer Arithmetic, 

        Assignment Statements



4       Flow of Control, Repetition, For Statement, Nested For Loops,   Chap 5

        Method Calls, Function Methods, Conditional Expressions,

        While Statement, Boolean Expressions, Repeat Statement, 

        Conditional Statements, The Turbo Debugger                      1st EXAM



5       Extending Pascal - Inheritance and Writing Methods, Type Declarations,  Chap 6

        Qualification, The Execution of Method Calls, Parameters, Real Arithmetic, 

        Standard Functions, Enumerated Types, Ordinal Types 



6       Strings, Standard String Functions &amp; Procedures, Subscripting Strings,  Chap 7

        String Expressions, Reading String Data from the User, The char Type, 

        Displaying Numbers      



7       Event Driven Programming, Event Loops, Units, Unit INTERFACE PART       Chap 8


        and IMPLEMENTATION PART, Edit Windows



8       Text Files, Files and the file Type, Output Files, Input Files, Sets,   Chap 9

        I/O Errors, The Case Statement, UpCase Standard Function,

        The FileBox Object                      2nd EXAM



9       Defined Subprograms, Programmer Defined Procedures,     Chap 10 

        Value Parameters and Variable Parameters, Parameter Passing, 

        Programmer Defined Functions, Subprogram Call Syntax, 

        Procedure Call Syntax, Function Call Syntax, 

        Communicating with Subprograms Using Global Variables, 

        Nested Subprograms and Scope Rules



10      Arrays, Subrange Types and Array Declarations,  Chap 11

        Two Dimensional Arrays, Anonymous Types and 

        Assignment Compatibility, Anonymous Types and 

        Parameter Compatibility, Models for Arrays,

        For Loops and Arrays



11      Records and Objects, Fields, data members, method members,      Chap 12

        arrays of records



12      Program Design and Development, Top Down, Structured Design,    Chap 13

        Object Oriented Design



13      Fundaments algorithms, searching, Sorting       Chap 14



14&amp;15   Review  FINAL EXAM


</PRE>

<P>
<HR></P>

<H2><FONT COLOR="#FF0200">LAB AND MATERIALS</FONT></H2>

<P><B><FONT COLOR="#FF0C4A">LOCATION</FONT>:</B> 1119 and 1121 TMCB. </P>

<P><B>HOURS:</B> A schedule will be posted in the lab (1119 TMCB), but
typically the hours are 9 a.m. to 10 p.m. </P>

<P>Monday through Friday and 9 a.m. to 5 p.m. on Saturday. </P>

<P><B>ORIENTATION:</B> Lab orientations will be held in the lab each hour
on the hour from 9:00 am through 5:00 PM on Wednesday,, Thursday, , and
on Friday,. You must attend one of these orientation sessions so that you
will know how the computers work, what the lab procedures are, and how
to complete the first lab assignment. </P>

<P><B>EQUIPMENT:</B> The lab currently has several dozen IBM compatible
PC's, linked together to a file server disk system using Novell networking
equipment and software. </P>

<P><B>DISKETTES:</B> You will need at least one double-sided, double-density
3.5&quot; floppy diskette on which to save your programs. Buy one in the
Bookstore, better still, buy two, one for a backup copy. You should bring
them with you to Orientation, but it is not critical if you don't have
them yet. You will, however need them before you do any assignments. </P>

<P><B>POLICIES:</B> Lab policies change somewhat from semester to semester.
You can obtain a current copy of lab policies from any lab assistant. However,
the following rules are always in force, and you will be asked to leave
if you break any of them: </P>

<OL>
<LI><FONT COLOR="#FF0000">No accessing, copying or displaying of pornographic
material </FONT></LI>

<LI>No food or drink is allowed. </LI>

<LI>Don't unplug cables or remove computer covers. If you are having problems,
get help from a lab assistant. </LI>

<LI>No games are allowed on the computers at any time. </LI>

<LI>No word processing. </LI>

<LI>Lab assistants give first priority to students with assignments to
be checked off. If you have a program ready to be signed off, hold up your
Syllabus as a signal that you are ready. </LI>

<LI><FONT COLOR="#FF0000">No illegal copying of software. </FONT></LI>
</OL>

<P><B>HELP:</B> Help sections for CS 142 are scheduled each semester. Times
and locations are posted in the lab. Plan to attend at least one help section
each week. A teaching assistant who knows Pascal well will help with design
and development of the coming assignment and answer any questions you have.
These sessions are very important, they will help you to gain problem solving
skills and understand how to write the assigned programs. In the lab, the
lab assistants will only <!WA2><A HREF="file:///Macintosh%20HD/Desktop%20Folder/checkoff.html">check
off</A> assignments, answer brief questions about program syntax, and help
you in using the computers. TA's will not write your programs for you nor
debug your program logic. The whole point of the lab assignments is for
you to learn how to do these tasks. </P>

<P>
<HR></P>

<H2>COMMONLY ASKED QUESTIONS</H2>

<P>Below are questions that are repeatedly asked about CS 142. If you don't
see the answer to your question here, review the previous pages or talk
to your instructor or lab assistant. </P>

<P><B>IS THERE A WAY TO OBTAIN EXTRA CREDIT?</B> </P>

<P>No. If you have time to do extra credit work, you have time to do an
assignment correctly. </P>

<P><B>IS IT OKAY TO STUDY WITH SOMEONE ELSE?</B> </P>

<P>Yes, group study is very helpful for some. However, don't let someone
else write your programs for you, or you will be unable to pass the tests.
</P>

<P><B>WHO MAKES UP THE EXAMS? DO INDIVIDUAL TEACHERS DO THAT?</B> </P>

<P>Standard exams are used for all sections of CS 142. The exams closely
parallel the programming assignments and text chapter exercises.. </P>

<P><B>WHAT HAPPENS TO MY PROGRAM IF IT IS ONLY PARTIALLY FINISHED AND THE
LAB CLOSES, OR I HAVE TO LEAVE? DO I LOSE IT? </B></P>

<P>You won't lose it if you save it out to your floppy disk. You can then
work on it some more next time you're in the lab. It's a good idea to save
your program periodically as you work even if you're not going to leave
the lab. Some programming errors can cause your work station to hang up
so that you must power it off and on to get it working again. When this
happens, you lose everything you did since you last did a save. The Borland
Pascal IDE provides for automatic periodic saving of the program you are
editing. To take advantage of this feature, check the Auto Save Editor
Files box of the Preferences dialog under the Environment option of the
Options menu. </P>

<P><B>WHAT IF I DON'T HAVE THE PROGRAM FINISHED BY THE TIME IT IS DUE?</B>
</P>

<P>You have ten late days you may use without penalty. Those days could
all be used for one assignment, or one day for each of ten assignments,
or other combinations. After the late days are used, you will lose a point
for each day subsequent assignments are late. </P>

<P><B>AM I EVER ALLOWED TO PLAY COMPUTER GAMES?</B> </P>

<P>No. Never. Absolutely not. Not even if you're the only person in the
lab. </P>

<P><B>CAN I PLAY AROUND ON THE MACHINE JUST TO SEE HOW TO USE IT?</B> </P>

<P>Yes, by all means do so. Try entering and running the example programs
in your text, or modifying your programming assignments once you've passed
them off. </P>

<P><B>WHAT IF I ALREADY HAVE A DISKETTE?</B> </P>

<P>If you have a 3.5 inch disk, fine. If you are using someone else's disk,
make absolutely sure that he or she is finished with it, and that the disk
is formatted for MS-DOS 2.0 or later. If you're buying your own disk, it
should be a double-sided, double-density 3.5&quot; floppy disk. In any
case, you still need to purchase two Computer Science Materials Cards for
the lab. </P>

<P><B>WHAT IF I HAVE MY OWN COMPUTER?</B> </P>

<P>The lab is currently using Microsoft Windows and Borland Pascal with
Objects 7.0 on IBM compatible PCs. If you want to use your own computer,
you should have an IBM PC or compatible (AT&amp;T, Compaq, etc.) and your
own copies of Microsoft Windows and Borland Pascal with Objects 7.0. You
will also need to get a copy of the CS142 and Turtles units from one of
the lab TAs. You must still bring your programs into the lab to pass off.
</P>

<P><B>WHAT IF I HAVE A NON-IBM-COMPATIBLE COMPUTER?</B> </P>

<P>If you have a Pascal compiler on it, you can use it to learn some things
about Pascal. But it won't have Windows or the CS142 and Turtles units,
so you won't be able to write the programming assignments on it. </P>

<P><B>WHAT IS THE BEST WAY TO SCHEDULE TIME IN THE LAB? ALL IN A SINGLE
BLOCK, OR IN SEPARATE HOURS? </B></P>

<P>Most people do best if lab hours are spread out through the week, some
people get up-tight if they sit very long at a terminal. We recommend that
you design and write your programs on paper before going into the lab to
enter and debug them. </P>

<P><B>WILL CLASSES BE HELD THE WEEK OF EXAMS?</B> </P>

<P>Yes, always. And be sure not to miss your exams, plan to take the exams
at the times scheduled. Only in rare cases will make-up tests be given.
</P>

<P><B>WHAT CAN I DO IF I NEED MORE HELP?</B> </P>

<P>Three things: </P>

<OL>
<LI>Help sections: a schedule is posted in the lab </LI>

<LI>See your instructor during his or her office hours. Individual T.A.
assistance may be arranged. </LI>

<LI>Hire a tutor--the Tutoring Service is run by the Student Academics
office, and free-lance tutors often advertise on bulletin boards and in
the Daily Universe. </LI>
</OL>

<P><B>CAN I SHARE A DISK WITH SOMEONE?</B> </P>

<P>Not recommended. You need your own disks. </P>

<P><B>DO THE HELP SECTIONS REALLY HELP?</B> </P>

<P>Yes. They are very useful in helping students understand how to complete
Lab assignments. Students who attend usually are very positive in their
evaluation of the help sections. One interesting observation: failing students
are almost never regular attendees of the help sections. </P>

<P><B>HOW CAN I GET THE MOST OUT OF THIS CLASS? I FEEL UNCOMFORTABLE IN
LARGE CLASSES? </B></P>

<P>There is no reason to be wary of large classes. Studies show that, unless
the class is very small (less than a dozen students), the size of the class
has no correlation to the amount of learning that takes place. Much of
your learning will take place in the lab anyway. The best way to learn
Pascal (or any other programming language) is to write as many programs
in it as you can. </P>

<P>
<HR>Go to: </P>

<H2><!WA3><A HREF="file:///Macintosh%20HD/Desktop%20Folder/checkoff.html">CS
142 Assignment Check-Off Sheet (Fall 1996)</A></H2>

<P>
<HR>Go to <!WA4><A HREF="file:///byu.html"><!WA5><IMG SRC="http://www.cs.byu.edu/courses/cs142/button-to-cs.gif" HEIGHT=32 WIDTH=32 ALIGN=CENTER></A><!WA6><A HREF="file:///byu-home.html"><!WA7><IMG SRC="http://www.cs.byu.edu/courses/cs142/thumb-cougar.gif" HEIGHT=32 WIDTH=32 ALIGN=CENTER></A>
<HR></P>

<ADDRESS>Created Aug 17, 1994 ... </ADDRESS>

<P><I>Updated Mon Apr 10 15:29:47 1995 </I></P>

<ADDRESS>by <!WA8><A HREF="http://lal.cs.byu.edu/people/mccosh/mccosh.html">Scott
S. McCosh </A>Send comments to <!WA9><A HREF="http://lal.cs.byu.edu/people/bigna/webmastercomment.html">(webmaster@www.cs.byu.edu)</A>
</ADDRESS>

</BODY>
</HTML>
